T = int(input())
while T:
n = int(input())
a = [int(x) for x in input().split()]
s = 0
if n & 1:
s = 3
if a[0]+a[1] != 0:
print("%d %d %d " % (-a[2], -a[2], a[0]+a[1]), end="")
elif a[0]+a[2] != 0:
print("%d %d %d " % (-a[1], a[0]+a[2], -a[1]), end="")
else:
print("%d %d %d " % (a[1]+a[2], -a[0], -a[0]), end="")
while s < n:
print("%d %d " % (-a[s+1], a[s]), end="")
s += 2
print()
T -= 1
#include <bits/stdc++.h>
using namespace std;
const int N = 100005;
int a[N];
void solve()
{
int n;
cin >> n;
for (int i = 1; i <= n; i++)
cin >> a[i];
if (n & 1)
{
for (int i = 1; i <= n - 3; i += 2)
{
int g = __gcd(abs(a[i]), abs(a[i + 1]));
cout << a[i + 1] / g << ' ' << -a[i] / g << ' ';
}
if (a[n - 2] == a[n - 1] && a[n - 2] == a[n])
{
cout << "1 1 -2 ";
}
else if (a[n - 2] == a[n - 1])
{
cout << a[n] << " " << a[n] << " " << (-2) * a[n - 2];
}
else if (a[n - 2] == a[n])
{
cout << a[n - 1] << " " << (-2) * a[n - 2] << " " << a[n - 1];
}
else if (a[n - 1] == a[n])
{
cout << (-2) * a[n] << " " << a[n - 2] << " " << a[n - 2];
}
else
{
cout << a[n - 1] - a[n] << " " << a[n] - a[n - 2] << " " << a[n - 2] - a[n - 1];
}
}
else
{
for (int i = 1; i <= n; i += 2)
{
int g = __gcd(abs(a[i]), abs(a[i + 1]));
cout << a[i + 1] / g << ' ' << -a[i] / g << ' ';
}
}
cout << '\n';
}
int main()
{
int t;
cin >> t;
while (t--)
solve();
return 0;
}
429. N-ary Tree Level Order Traversal | 739. Daily Temperatures |
647. Palindromic Substrings | 583. Delete Operation for Two Strings |
518. Coin Change 2 | 516. Longest Palindromic Subsequence |
468. Validate IP Address | 450. Delete Node in a BST |
445. Add Two Numbers II | 442. Find All Duplicates in an Array |
437. Path Sum III | 436. Find Right Interval |
435. Non-overlapping Intervals | 406. Queue Reconstruction by Height |
380. Insert Delete GetRandom O(1) | 332. Reconstruct Itinerary |
368. Largest Divisible Subset | 377. Combination Sum IV |
322. Coin Change | 307. Range Sum Query - Mutable |
287. Find the Duplicate Number | 279. Perfect Squares |
275. H-Index II | 274. H-Index |
260. Single Number III | 240. Search a 2D Matrix II |
238. Product of Array Except Self | 229. Majority Element II |
222. Count Complete Tree Nodes | 215. Kth Largest Element in an Array |